//
//  NHRequestManager.h
//  LZNeiHan
//
//  Created by 梁梓烽 on 16/10/4.
//  Copyright © 2016年 liangzifeng. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <AFNetworking.h>


typedef NS_ENUM(NSInteger ,NHRsponseSerializerType)
{
    /**
     *  默认类型 JSON  如果使用这个响应解析器类型,那么请求返回的数据将会是JSON格式
     */
    NHResponseSeializerTypeDefault = 0,
    /**
     *  JSON类型 如果使用这个响应解析器类型,那么请求返回的数据将会是JSON格式
     */
    NHResponseSeializerTypeJSON,
    /*
     *  XML类型 如果使用这个响应解析器类型,那么请求返回的数据将会是XML格式
     */
    NHResponseSeializerTypeXML,
    /**
     *  Plist类型 如果使用这个响应解析器类型,那么请求返回的数据将会是Plist格式
     */
    NHResponseSeializerTypePlist,
    /*
     *  Compound类型 如果使用这个响应解析器类型,那么请求返回的数据将会是Compound格式
     */
    NHResponseSeializerTypeCompound,
    /**
     *  Image类型 如果使用这个响应解析器类型,那么请求返回的数据将会是Image格式
     */
    NHResponseSeializerTypeImage,
    /**
     *  Data类型 如果使用这个响应解析器类型,那么请求返回的数据将会是二进制格式
     */
    NHResponseSeializerTypeData
};


@interface NHRequestManager : NSObject


+(void)Get:(NSString*)url params:(NSDictionary *)params responseSerializerType:(NHRsponseSerializerType)type success:(void (^)(id response ))success
   failure:(void(^)(NSError *))failure;


+(void)Post:(NSString*)url params:(NSDictionary *) params responseSerializerType:(NHRsponseSerializerType)type success:(void (^)(id response  ))success
   failure:(void(^)(NSError *))failure;


+ (void)POST:(NSString *)URLString
  parameters:(id)parameters
responseSeializerType:(NHRsponseSerializerType)type
constructingBodyWithBlock:(void (^)(id<AFMultipartFormData> formData))block
     success:(void (^)(id responseObject))success
     failure:(void (^)(NSError *error))failure;

+(void)cancelAllRequests;

@end
